Non-volatile memory is an electronic memory device with specific capabilities such as maintaining data without additional power, fast data access and shockproof. Therefore, non-volatile memory is extensively used in memory cards, solid state drives (SSD) and portable multimedia devices. Non-volatile memory includes a plurality of data blocks for storing data. A data block may have read disturbance when the data stored therein is frequently accessed. In addition, electrical property of the non-volatile memory and the effect of continuous access of the non-volatile memory on electrical charge storage would induce data retention issues; that is, the data stored in the data block may be damaged. Therefore, to avoid the aforementioned problems, a data block must be refreshed; that is, the data block must move the data stored therein to a spare data block. However, if the data block could not be refreshed in time, the data stored in the data block may be incorrect and unrestorable.